function [ all, c, ax, vx ] = MFCC(vzorky, vzorkovacia_frek)


vzorky = filter([1 -0.97], 1, vzorky);       %preemfaza

% first compute power spectrum
vykon_spektrum = powspec_MFCC(vzorky, vzorkovacia_frek);        %segmentacia, oknovanie, DFT

% next group to critical bands
filt_vzorky = audspec_MFCC(vykon_spektrum, vzorkovacia_frek);    %melova filtracia
nbands = size(filt_vzorky,1);

LOG = log (filt_vzorky);            %logaritmovanie

c = dct(LOG);                       %DCT
c(14:nbands, :) = [];               %iba prvych 13 koef
for i = 1 : 13
           c(i, : ) = c(i, : ) - mean(c(i, : ));       %CMN
end

c=c';

nf=size(c,1);
nc=13;

  vf=(4:-1:-4)/60;
  af=(1:-1:-1)/2;
  ww=ones(5,1);
  cx=[c(ww,:); c; c(nf*ww,:)];
  vx=reshape(filter(vf,1,cx(:)),nf+10,nc);
  vx(1:8,:)=[];
  ax=reshape(filter(af,1,vx(:)),nf+2,nc);
  ax(1:2,:)=[];
  vx([1 nf+2],:)=[];  
  all=[c vx ax];
  
  c=c';             %zakladne
  ax=ax';           %akceleracne
  vx=vx';           %diferencne
  all=all';         %vsetky 39
  
end
